﻿using Ewk.Math.ComputationTypes.Computables;

namespace Ewk.Math.ComputationTypes.Factories
{
    class ComputableInt32Factory : IComputableFactory<int>
    {
        #region Implementation of IComputableFactory<int>

        public Computable<int> Zero
        {
            get { return new ComputableInt32(0); }
        }

        public Computable<int> Epsilon
        {
            get { return new ComputableInt32(0); }
        }

        public Computable<int> One
        {
            get { return new ComputableInt32(1); }
        }

        public Computable<int> MinValue
        {
            get { return new ComputableInt32(int.MinValue); }
        }

        public Computable<int> MaxValue
        {
            get { return new ComputableInt32(int.MaxValue); }
        }

        public Computable<int> Create(int value)
        {
            return new ComputableInt32(value);
        }

        #endregion
    }
}
